package model

import (
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

// Self是实际的数据库对象 这里相当于做了一层封装
type Database struct {
	Self *gorm.DB
}

//func (db *Database) Init() {
//
//	// * 初始化数据库
//	config := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=%t&loc=%s",
//		viper.GetString("db.username"),
//		viper.GetString("db.password"),
//		viper.GetString("db.addr"),
//		viper.GetString("db.dbname"),
//		true,
//		//"Asia/Shanghai"),
//		"Local")
//	// * 以config打开mysql数据库
//	_db, err := gorm.Open("mysql", config)
//	DB = &Database{Self: _db}
//	if err != nil {
//		log.Printf("Database connection failed. Database name: %s", viper.GetString("db.dbname"))
//	}
//	// * 解决中文字符问题：Error 1366
//	_db = _db.Set("gorm:table_options", "ENGINE=InnoDB CHARSET=utf8 auto_increment=1")
//
//	// 将对象绑定到数据库
//	//_db.AutoMigrate(&TodoModel{})
//
//}
//
//func (db *Database) Close() {
//	// * 关闭数据库
//	db.Self.Close().Error()
//}
//
//// 表面的数据库对象
//// 实际上DB.Self是gorm为我们建立的真正的数据库对象
//var DB *Database
